"""
    第一阶段小结
        软件编程三大范式
            1.面向过程:考虑问题从步骤角度出发
                是一种解决小问题的思维方式
                例如:排序步骤
                    1. 取数据
                    2. 作比较
                    3. 找更小
                    4. 则交换

            2.面向对象:考虑问题从对象角度出发
                是一种软件架构的思维方式
                    谁(类)?干嘛(方法)?
                比如:M(数据抽象) V(界面逻辑) C(核心算法)

            3.函数式编程:将函数作为参数,或者返回值
                创建一系列的通用函数(高阶函数)
                例如:
                def find_all(iterable, condition):
                    for number in iterable:
                        if condition(number):
                            yield number

            4. 开闭原则:增加新功能,不修改客户端代码
                将多个变化点单独分为类或函数
                使用父类或者参数隔离客户端与变化点
                子类重写父类方法实现具体功能或者lambda根据通用函数实现具体算法
"""